好吧,所以我很难找到一个表单,我想用它来向我的推特账户发布推文。我正在使用gem"omnauth-twitter"和gem"twitter"。
我的表单没有将其内容发送到products_controller.rb中的Twitter.update(),我不知道为什么。
这是我目前掌握的代码。。。
从我的index.html.erb
<%= form_tag do %>
<fieldset>
<legend>140 char limit</legend>
<div>
<label for="mytweet">mytweet:</label>
<%= text_field_tag :my_tweet, params[:my_tweet] %>
</div>
<div>
<%= submit_tag "tweet" %>
</div>
</fieldset>
<% end %>
来自我的产品s_controller.rb
def tweetfunc
if param[:tweet] != nil then
Twitter.update(param[:tweet])
else
#TODO display an error message
end
结束
在我的路线内。rb
controller :products do
post 'tweet' => :tweetfunc
结束
有什么想法吗?
检查您发布的index.html.erb:的第一行
<%= form_tag do %>
并输出一个url到你的控制器,如下所示:
<%= form_tag tweet_products_path do %>
你应该没事的。
在控制器中:
Twitter.update(params[:my_tweet]) if params[:my_tweet].present?
除此之外,我强烈建议您遵循REST架构,拥有一个与ActiveModel兼容的Tweet类,并在该类的实例上使用表单生成器助手,即for_for @tweet do |f| ...