我正在使用带有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"
获取时间线工作正常,但是在尝试发送更新时,我收到此错误:
缺少必需参数:状态
有什么问题?
由于
答案 0 :(得分:0)
在我的情况下使用相同的错误消息,结果发现我的文本变量等效为空字符串。你检查没有?尝试检查空?
答案 1 :(得分:0)
“除非text = nil”
这是设置文本为零,因此没有文本传递给update()
一个好习惯是始终把文字放在左边:
nil == text
这样,如果你为get ==和do =它会失败,因为你不能分配给文字。
尝试“除非text == nil”或“除非text.nil?”