1

我正在使用带有 rails 的twitter gem来检索用户时间线并发布更新:

  def index
    @tweets = Twitter.home_timeline
  end

  def tweet
    text = params[:text]
    Twitter.update(text) unless text = nil
  end

通过 jquery/ajax 发送请求的视图:

<input type="text" class="tweet-box" placeholder="tweet something" />
<input type="submit" class="tweet-button" value="tweet" />

<script type="text/javascript">
    $(".tweet-button").on('click',function(e){
        e.preventDefault();
        $.post('/twitters/tweet', { text: $(".tweet-box").val() });
    });
</script>

最后是路线:

get "twitters/index"
post "twitters/tweet"

获取时间线工作正常,但是在尝试发送更新时,我收到此错误:

缺少必需参数:状态

问题是什么?

谢谢

4

2 回答 2

0

“除非文本 = 零”

这是文本设置为零,因此没有文本被传递到 update()

一个好习惯是始终将文字放在左侧:

无 == 文本

这样,如果您 for get == 和 do = 它将失败,因为您无法分配给文字。

尝试“除非 text == nil”或“除非 text.nil?”

于 2013-04-24T15:50:27.540 回答
0

在我的情况下,有相同的错误消息,结果证明我的文本变量等价物是一个空字符串。你检查零?尝试检查是否为空?

于 2013-04-24T03:23:34.350 回答